package org.jeecg.modules.register.entity;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @Description: subject_legal
 * @Author: jeecg-boot
 * @Date:   2024-09-20
 * @Version: V1.0
 */
@Data
@TableName("subject_legal")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="subject_legal对象", description="subject_legal")
public class SubjectLegal implements Serializable {
    private static final long serialVersionUID = 1L;

    /**subjectId*/
    @Excel(name = "subjectId", width = 15)
    @ApiModelProperty(value = "主键自增")
    @TableId(type = IdType.ASSIGN_ID)
    private java.lang.String subjectId;
    /**主体类别 1 法人 2 自然人*/
    @Excel(name = "主体类别 1 法人 2 自然人", width = 15)
    @ApiModelProperty(value = "主体类别 1 法人 2 自然人")
    private java.lang.Integer subjectType;
    /**法人代码*/
    @Excel(name = "法人代码", width = 15)
    @ApiModelProperty(value = "法人代码")
    private java.lang.String legalCode;
    /**是否三证合一 0 否 1 是*/
    @Excel(name = "是否三证合一 0 否 1 是", width = 15)
    @ApiModelProperty(value = "是否三证合一 0 否 1 是")
    private java.lang.Integer isIntegration;
    /**法人名称*/
    @Excel(name = "法人名称", width = 15)
    @ApiModelProperty(value = "法人名称")
    private java.lang.String legalName;
    /**法定代表人姓名*/
    @Excel(name = "法定代表人姓名", width = 15)
    @ApiModelProperty(value = "法定代表人姓名")
    private java.lang.String legalRepresent;
    /**法人类别*/
    @Excel(name = "法人类别", width = 15)
    @ApiModelProperty(value = "法人类别")
    private java.lang.String bidderCodeType;

    @TableField(exist = false)
    private java.lang.String adminPassword;

    @TableField(exist = false)
    private java.lang.String token;

    /**法人简称*/
    @Excel(name = "法人简称", width = 15)
    @ApiModelProperty(value = "法人简称")
    private java.lang.String legalNameJc;
    /**法人角色*/
    @Excel(name = "法人角色", width = 15)
    @ApiModelProperty(value = "法人角色")
    private java.lang.String legalRole;
    /**国税税务登记证证号*/
    @Excel(name = "国税税务登记证证号", width = 15)
    @ApiModelProperty(value = "国税税务登记证证号")
    private java.lang.String taxCertNo;
    /**国税税务登记证失效日期*/
    @Excel(name = "国税税务登记证失效日期", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "国税税务登记证失效日期")
    private java.util.Date taxCertEndDate;
    /**地税税务登记证证号*/
    @Excel(name = "地税税务登记证证号", width = 15)
    @ApiModelProperty(value = "地税税务登记证证号")
    private java.lang.String localTaxCertNo;
    /**地税税务登记证失效日期*/
    @Excel(name = "地税税务登记证失效日期", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "地税税务登记证失效日期")
    private java.util.Date localTaxCertEndDate;
    /**组织机构代码*/
    @Excel(name = "组织机构代码", width = 15)
    @ApiModelProperty(value = "组织机构代码")
    private java.lang.String organNo;
    /**组织机构代码证失效日期*/
    @Excel(name = "组织机构代码证失效日期", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "组织机构代码证失效日期")
    private java.util.Date organCertEndDate;
    /**法人机构类别*/
    @Excel(name = "法人机构类别", width = 15)
    @ApiModelProperty(value = "法人机构类别")
    private java.lang.String legalType;
    /**法人机构性质*/
    @Excel(name = "法人机构性质", width = 15)
    @ApiModelProperty(value = "法人机构性质")
    private java.lang.String legalNature;
    /**是否外资参股*/
    @Excel(name = "是否外资参股", width = 15)
    @ApiModelProperty(value = "是否外资参股")
    private java.lang.String isForeign;
    /**是否上市*/
    @Excel(name = "是否上市", width = 15)
    @ApiModelProperty(value = "是否上市")
    private java.lang.String isStock;
    /**上市地点*/
    @Excel(name = "上市地点", width = 15)
    @ApiModelProperty(value = "上市地点")
    private java.lang.String stockAddress;
    /**上市日期*/
    @Excel(name = "上市日期", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "上市日期")
    private java.util.Date stockDate;
    /**股票交易代码*/
    @Excel(name = "股票交易代码", width = 15)
    @ApiModelProperty(value = "股票交易代码")
    private java.lang.String stockCode;
    /**国别/地区*/
    @Excel(name = "国别/地区", width = 15)
    @ApiModelProperty(value = "国别/地区")
    private java.lang.String countryRegion;
    /**行政区域代码*/
    @Excel(name = "行政区域代码", width = 15)
    @ApiModelProperty(value = "行政区域代码")
    private java.lang.String regionCode;
    /**注册地址*/
    @Excel(name = "注册地址", width = 15)
    @ApiModelProperty(value = "注册地址")
    private java.lang.String legalUnitAddress;
    /**企业办公通讯地址*/
    @Excel(name = "企业办公通讯地址", width = 15)
    @ApiModelProperty(value = "企业办公通讯地址")
    private java.lang.String legalAddress;
    /**注册地-省*/
    @Excel(name = "注册地-省", width = 15)
    @ApiModelProperty(value = "注册地-省")
    private java.lang.String registerProvince;
    /**注册地-市*/
    @Excel(name = "注册地-市", width = 15)
    @ApiModelProperty(value = "注册地-市")
    private java.lang.String registerCity;
    /**法人代表联系电话*/
    @Excel(name = "法人代表联系电话", width = 15)
    @ApiModelProperty(value = "法人代表联系电话")
    private java.lang.String representPhone;
    /**邮政编码*/
    @Excel(name = "邮政编码", width = 15)
    @ApiModelProperty(value = "邮政编码")
    private java.lang.String legalZipCode;
    /**电子邮箱*/
    @Excel(name = "电子邮箱", width = 15)
    @ApiModelProperty(value = "电子邮箱")
    private java.lang.String legalEmail;
    /**单位网站*/
    @Excel(name = "单位网站", width = 15)
    @ApiModelProperty(value = "单位网站")
    private java.lang.String legalWeb;
    /**资信等级*/
    @Excel(name = "资信等级", width = 15)
    @ApiModelProperty(value = "资信等级")
    private java.lang.String creditRate;
    /**法人机构所属行业*/
    @Excel(name = "法人机构所属行业", width = 15)
    @ApiModelProperty(value = "法人机构所属行业")
    private java.lang.String legalIndustry;
    /**经营品目*/
    @Excel(name = "经营品目", width = 15)
    @ApiModelProperty(value = "经营品目")
    private java.lang.String legalJingying;
    /**是否能开增值税发票*/
    @Excel(name = "是否能开增值税发票", width = 15)
    @ApiModelProperty(value = "是否能开增值税发票")
    private java.lang.String isPiao;
    /**企业上年营业额*/
    @Excel(name = "企业上年营业额", width = 15)
    @ApiModelProperty(value = "企业上年营业额")
    private java.math.BigDecimal lastYearTurnover;
    /**成立日期*/
    @Excel(name = "成立日期", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "成立日期")
    private java.util.Date legalRegistDate;
    /**雇员人数*/
    @Excel(name = "雇员人数", width = 15)
    @ApiModelProperty(value = "雇员人数")
    private java.lang.String legalEmployees;
    /**经营范围*/
    @Excel(name = "经营范围", width = 15)
    @ApiModelProperty(value = "经营范围")
    private java.lang.String businessScope;
    /**经营及业务优势介绍*/
    @Excel(name = "经营及业务优势介绍", width = 15)
    @ApiModelProperty(value = "经营及业务优势介绍")
    private java.lang.String businessAdvantages;
    /**与本单位合作项目*/
    @Excel(name = "与本单位合作项目", width = 15)
    @ApiModelProperty(value = "与本单位合作项目")
    private java.lang.String ourProjects;
    /**其他重要项目及客户介绍*/
    @Excel(name = "其他重要项目及客户介绍", width = 15)
    @ApiModelProperty(value = "其他重要项目及客户介绍")
    private java.lang.String otherProjects;
    /**备注*/
    @Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private java.lang.String legalRemark;
    /**营业执照号码*/
    @Excel(name = "营业执照号码", width = 15)
    @ApiModelProperty(value = "营业执照号码")
    private java.lang.String licenseNo;
    /**营业执照失效日期*/
    @Excel(name = "营业执照失效日期", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "营业执照失效日期")
    private java.util.Date licenseEndDate;
    /**统一社会信用代码证图片*/
    @Excel(name = "统一社会信用代码证图片", width = 15)
    @ApiModelProperty(value = "统一社会信用代码证图片")
    private java.lang.String licensePath;
    /**营业执照开始日期*/
    @Excel(name = "营业执照开始日期", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "营业执照开始日期")
    private java.util.Date licenseStartDate;
    /**社保登记号码*/
    @Excel(name = "社保登记号码", width = 15)
    @ApiModelProperty(value = "社保登记号码")
    private java.lang.String socialSecurityNo;
    /**社保登记图片*/
    @Excel(name = "社保登记图片", width = 15)
    @ApiModelProperty(value = "社保登记图片")
    private java.lang.String socialSecurityPath;
    /**社保登记开始日期*/
    @Excel(name = "社保登记开始日期", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "社保登记开始日期")
    private java.util.Date socialSecurityStart;
    /**社保登记失效日期*/
    @Excel(name = "社保登记失效日期", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "社保登记失效日期")
    private java.util.Date socialSecurityEnd;

    /**社保登记号码*/
    @Excel(name = "安全生产许可证号码", width = 15)
    @ApiModelProperty(value = "安全生产许可证号码")
    private java.lang.String safeProductionNo;
    /**社保登记图片*/
    @Excel(name = "安全生产许可证图片", width = 15)
    @ApiModelProperty(value = "安全生产许可证图片")
    private java.lang.String safeProductionPath;
    /**社保登记开始日期*/
    @Excel(name = "安全生产许可证开始日期", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "安全生产许可证开始日期")
    private java.util.Date safeProductionStart;
    /**社保登记失效日期*/
    @Excel(name = "安全生产许可证失效日期", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "安全生产许可证失效日期")
    private java.util.Date safeProductionEnd;


    /**基本户开户银行*/
    @Excel(name = "基本户开户银行", width = 15)
    @ApiModelProperty(value = "基本户开户银行")
    private java.lang.String basicBank;
    /**基本户开户支行号*/
    @Excel(name = "基本户开户支行号", width = 15)
    @ApiModelProperty(value = "基本户开户支行号")
    private java.lang.String basicBranchBank;
    /**基本户账号*/
    @Excel(name = "基本户账号", width = 15)
    @ApiModelProperty(value = "基本户账号")
    private java.lang.String basicAccountNo;
    /**基本户账户名称*/
    @Excel(name = "基本户账户名称", width = 15)
    @ApiModelProperty(value = "基本户账户名称")
    private java.lang.String basicAccountName;
    /**是否有进出口权*/
    @Excel(name = "是否有进出口权", width = 15)
    @ApiModelProperty(value = "是否有进出口权")
    private java.lang.String isImport;
    /**注册资本人民币*/
    @Excel(name = "注册资本人民币", width = 15)
    @ApiModelProperty(value = "注册资本人民币")
    private java.math.BigDecimal regRmb;
    /**注册资本*/
    @Excel(name = "注册资本", width = 15)
    @ApiModelProperty(value = "注册资本")
    private java.math.BigDecimal regCapital;
    /**注册资本币种*/
    @Excel(name = "注册资本币种", width = 15)
    @ApiModelProperty(value = "注册资本币种")
    private java.lang.String regCapCurrency;
    /**注册资本单位*/
    @Excel(name = "注册资本单位", width = 15)
    @ApiModelProperty(value = "注册资本单位")
    private java.lang.String regUnit;
    /**注册资本金银行缴款证明*/
    @Excel(name = "注册资本金银行缴款证明", width = 15)
    @ApiModelProperty(value = "注册资本金银行缴款证明")
    private java.lang.String regCertificate;
    /**联系人*/
    @Excel(name = "联系人", width = 15)
    @ApiModelProperty(value = "联系人")
    private java.lang.String legalContact;
    /**联系人电话*/
    @Excel(name = "联系人电话", width = 15)
    @ApiModelProperty(value = "联系人电话")
    private java.lang.String legalContactPhone;
    /**联系人地址*/
    @Excel(name = "联系人地址", width = 15)
    @ApiModelProperty(value = "联系人地址")
    private java.lang.String legalContactAddress;
    /**法人业务状态*/
    @Excel(name = "法人业务状态", width = 15)
    @ApiModelProperty(value = "法人业务状态")
    private java.lang.String legalStatus;
    /**交易系统标识码*/
    @Excel(name = "交易系统标识码", width = 15)
    @ApiModelProperty(value = "交易系统标识码")
    private java.lang.String platformCode;
    /**数据时间戳*/
    @Excel(name = "数据时间戳", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "数据时间戳")
    private java.util.Date dataTimestamp;
    /**是否CA绑定*/
    @Excel(name = "是否CA绑定", width = 15)
    @ApiModelProperty(value = "是否CA绑定")
    private java.lang.Integer isCa;

    @Excel(name = "CAS硬件编码", width = 15)
    @ApiModelProperty(value = "CAS硬件编码")
    private java.lang.String casCode;

    /**注册步骤  1 登陆信息  2 概况*/
    @Excel(name = "注册步骤  1 登陆信息  2 概况", width = 15)
    @ApiModelProperty(value = "注册步骤  1 登陆信息  2 概况 3 证照信息 4 资质及质量体系认证 5 业绩证明 6 获奖证书  7 项目经理/总监 8 联系人信息 9 银行账户 10 诚信承诺书等资料  " )
    private java.lang.Integer registStep;

    /**注册步骤  1 登陆信息  2 概况*/
    @ApiModelProperty(value = "当前注册步骤   1 登陆信息  2 概况 3 证照信息 4 资质及质量体系认证 5 业绩证明 6 获奖证书  7 项目经理/总监 8 联系人信息 9 银行账户 10 诚信承诺书等资料   ")
    @TableField(exist = false)
    private java.lang.Integer currentStep;

    @ApiModelProperty(value = "验证码")
    @TableField(exist = false)
    private java.lang.String checkCode;

    @ApiModelProperty(value = "请求验证码key")
    @TableField(exist = false)
    private java.lang.String checkKey;

    /**身份证件类型*/
    @Excel(name = "身份证件类型", width = 15)
    @ApiModelProperty(value = "身份证件类型")
    private java.lang.String idCardType;
    /**主体代码（身份证件号）*/
    @Excel(name = "主体代码（身份证件号）", width = 15)
    @ApiModelProperty(value = "主体代码（身份证件号）")
    private java.lang.String idCard;
    /**身份证件失效日期*/
    @Excel(name = "身份证件失效日期", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "身份证件失效日期")
    private java.util.Date idCardEndDate;
    /**姓名*/
    @Excel(name = "姓名", width = 15)
    @ApiModelProperty(value = "姓名")
    private java.lang.String personName;
    /**联系电话*/
    @Excel(name = "联系电话", width = 15)
    @ApiModelProperty(value = "联系电话")
    private java.lang.String contact;
    /**银行账户*/
    @Excel(name = "银行账户", width = 15)
    @ApiModelProperty(value = "银行账户")
    private java.lang.String bankAccount;
    /**开户行*/
    @Excel(name = "开户行", width = 15)
    @ApiModelProperty(value = "开户行")
    private java.lang.String bankName;
    /**邮编*/
    @Excel(name = "邮编", width = 15)
    @ApiModelProperty(value = "邮编")
    private java.lang.String zipCode;
    /**地址*/
    @Excel(name = "地址", width = 15)
    @ApiModelProperty(value = "地址")
    private java.lang.String address;
    /**管理员登陆账号*/
    @Excel(name = "管理员登陆账号", width = 15)
    @ApiModelProperty(value = "管理员登陆账号")
    private java.lang.String adminLogin;
    /**管理员姓名*/
    @Excel(name = "管理员姓名", width = 15)
    @ApiModelProperty(value = "管理员姓名")
    private java.lang.String adminUser;
    /**管理员性别*/
    @Excel(name = "管理员性别", width = 15)
    @ApiModelProperty(value = "管理员性别")
    private java.lang.String adminSex;
    /**管理员手机*/
    @Excel(name = "管理员手机", width = 15)
    @ApiModelProperty(value = "管理员手机")
    private java.lang.String adminPhone;
    /**管理员身份证号*/
    @Excel(name = "管理员身份证号", width = 15)
    @ApiModelProperty(value = "管理员身份证号")
    private java.lang.String adminCard;
    /**管理员职务*/
    @Excel(name = "管理员职务", width = 15)
    @ApiModelProperty(value = "管理员职务")
    private java.lang.String adminJob;
    /**管理员电话号码座机*/
    @Excel(name = "管理员电话号码座机", width = 15)
    @ApiModelProperty(value = "管理员电话号码座机")
    private java.lang.String adminTel;
    /**管理员传真*/
    @Excel(name = "管理员传真", width = 15)
    @ApiModelProperty(value = "管理员传真")
    private java.lang.String adminFax;
    /**管理员邮箱*/
    @Excel(name = "管理员邮箱", width = 15)
    @ApiModelProperty(value = "管理员邮箱")
    private java.lang.String adminEmail;

    @ApiModelProperty(value = "sys_user表主键ID")
    private java.lang.String sysUserId;

    @Excel(name = "会员等级", width = 15)
    @ApiModelProperty(value = "会员等级")
    private java.lang.String memberLevel;

    @Excel(name = "会员状态", width = 15)
    @ApiModelProperty(value = "会员状态  0 待审核  1 审核中 2 通过 3 驳回 ")
    private java.lang.String memberState;

    @Excel(name = "会员起始时间", width = 15)
    @ApiModelProperty(value = "会员起始时间")
    private java.lang.String memberTimeStart;

    @Excel(name = "会员有效期", width = 15)
    @ApiModelProperty(value = "会员有效期")
    private java.lang.String memberTimeEnd;

    @Excel(name = "诚信承诺书图片", width = 15)
    @ApiModelProperty(value = "诚信承诺书图片")
    private java.lang.String chengxinPath;

    @Excel(name = "其他需上传资料", width = 15)
    @ApiModelProperty(value = "其他需上传资料")
    private java.lang.String otherPath;


}
